Intelligent user interface customization for one-handed use

ABSTRACT

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments for intelligently customizing a user interface on a remote control. In a non-limiting embodiment, a method operates by receiving a user input associated with customizing the user interface for one-hand use when the user interface is in a first configuration. The user interface may a user interface element and the first configuration includes a first dimension of the user interface. In an embodiment, the user input is a touch-based gesture received on a touchscreen of the remote control. A user may be identified responsive to receiving the user input and the user interface may be customized from the first configuration to a second configuration based on an interface customization parameter. In an embodiment, the customizing includes reducing the first dimension of the user interface to a second dimension to allow for one-hand use by the user.

BACKGROUND FIELD

This disclosure is generally directed to intelligently customizing auser interface for a user of a mobile device, such as a remote control,and more particularly to creating a customized interface with aconfiguration and layout that can be utilized for one-handed use.

BACKGROUND

For many users, the size of current mobile devices, such as smartphones,requires the use of two hands to be able to access all areas of thescreen, and by extension, the user interface. To alleviate this issue, aone-handed feature mode is typically installed into mobile devicesoftware that reduces or scales down the user interface displayed on thescreen to a predetermined size so that the user may use a single hand toaccess all elements of the user interface. Another solution shifts theuser interface downward so that an upper portion of the interface can bemore easily accessed without the user having to regrip their phone.

There are a number of limitations to these approaches. For instance, thereduced predetermined size or the amount that the user interface isshifts is typically set by the software and does not take into accountthe particular characteristics of the user and of the device thatprovides the user interface. Another limitation is that the reduced userinterface is merely a scaled down version or shifted version of the userinterface without any modifications to the user interface elements(e.g., buttons, direction pad).

SUMMARY

Provided herein are system, apparatus, article of manufacture, methodand/or computer program product embodiments, and/or combinations andsub-combinations thereof, for intelligently customizing a user interfacefor a particular user of the mobile device. The customized userinterface described in the example embodiments below may be utilized forone-handed usage and may provide an improvement over the static andpredetermined sizing of conventional one-handed interfaces that fail toaccount for the particular users—their biometrics and their usage of theuser interface—and other relevant user interface information such asuser settings, crowdsource information, and physical dimensions ofdifferent mobile devices.

Users have different hand sizes, different finger lengths, and differentways of interacting with a user interface (e.g., certain buttons may beutilized more than others, certain media streaming applications may bemore preferred than others). Coupled with the number of differentphysical dimensions of various mobile devices, a one-size-fits-all userinterface for one-hand use is not ideal and can result in userfrustration while interacting with the reduced user interface.Therefore, what is needed is an intelligent customization of a userinterface that is tailored for each user where the customization mayinclude a customized resizing of the dimensions and/or layout of theuser interface.

An example embodiment is directed to remote control, apparatus, articleof manufacture, method and/or computer program product embodiments,and/or combination and sub-combinations thereof, for generatingcustomized user interfaces for one-hand use based on informationassociated with the user. In a non-limiting embodiment, an apparatus,such as a remote control, may receive a user input associated withcustomizing the user interface when the user interface is in a firstconfiguration and the user interface including a user interface element.The first configuration may include a first dimension of the userinterface and the user input may be a touch-based gesture received on atouchscreen of the remote control. A user may then be identifiedresponsive to receiving the user input. An interface customizationparameter may then be identified based on the user input and identifyingthe user. The interface customization parameter provides information forcustomizing the user interface and may be calculated based on abiometric data associated with the user. The user interface may becustomized from the first configuration to a second configuration basedon the interface customization parameter. The second configuration maydefine a second dimension of the user interface where the seconddimension of the user interface is reduced in proportion to the firstconfiguration to provide one-hand use of the user interface.

An additional embodiment is directed to using different information inaddition to user biometric information to generate the interfacecustomization parameter. Other examples of information that may be usedinclude additional user information, crowdsource information, and remotecontrol information.

An additional embodiment is directed to generating multiple interfacecustomization parameters for a user where each interface customizationparameter may specify different customizations of the user interface.Different customizations may include different positioning of userinterface elements and different user interface elements to be displayedon the customized user interface.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying drawings are incorporated herein and form a part of thespecification.

FIG. 1 illustrates a block diagram of a multimedia environment,according to some embodiments.

FIG. 2 illustrates a block diagram of a remote control, according tosome embodiments.

FIGS. 3A-3I illustrate exemplary diagrams illustrating different flowsfor customizing a user interface based on various user inputs.

FIGS. 4A-4D illustrate exemplary diagrams illustrating different flowsfor customizing a user interface based on biometric information.

FIG. 5 is a flowchart illustrating a process for customizing a userinterface based on an interface customization parameter, according tosome embodiments.

FIG. 6 is a flowchart illustrating a process for collecting userinformation for customizing a user interface, according to someembodiments.

FIG. 7 is a flowchart illustrating a process for generating an interfacecustomization parameter, according to some embodiments.

FIG. 8 illustrates an example computer system useful for implementingvarious embodiments.

In the drawings, like reference numbers generally indicate identical orsimilar elements. Additionally, generally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION

Provided herein are system, apparatus, device, method and/or computerprogram product embodiments, and/or combinations and sub-combinationsthereof, for intelligently customizing a user interface for a particularuser of the mobile device including a resizing and reconfiguration ofthe user interface for one-handed use. Prior art solutions rely onstatic changes to the user interface that rely on a predefined sizing orchange to the interface. This one-size-fits-all approach fails toaccount for the variety of possible hand sizes and also does not takefull advantage of a user-tailored customization of the interface.Embodiments described herein provide a user interface that is customizedfor a particular user that not only includes a resizing of the interfacebut also changes to the user interface elements that provide morefunctionality at the user's fingertips.

Various embodiments of this disclosure may be implemented using and/ormay be part of a multimedia environment 100 shown in FIG. 1 , in someembodiments. It is noted, however, that multimedia environment 100 isprovided solely for illustrative purposes, and is not limiting.Embodiments of this disclosure may be implemented using and/or may bepart of environments different from and/or in addition to the multimediaenvironment 100, as will be appreciated by persons skilled in therelevant art(s) based on the teachings contained herein. An example ofthe multimedia environment 100 shall now be described.

Multimedia Environment

FIG. 1 illustrates a block diagram of a multimedia environment 100,according to some embodiments. In a non-limiting example, multimediaenvironment 100 may be directed to streaming media. However, thisdisclosure is applicable to any type of media (instead of or in additionto streaming media), as well as any mechanism, means, protocol, methodand/or process for distributing media.

The multimedia environment 100 may include one or more media systems102. A media system 102 could represent a family room, a kitchen, abackyard, a home theater, a school classroom, a library, a car, a boat,a bus, a plane, a movie theater, a stadium, an auditorium, a park, abar, a restaurant, or any other location or space where it is desired toreceive and play streaming content. User(s) 132 may operate with themedia system 102 to select and consume content. For example, user(s) 132may interact with remote control 110 via a graphical user interface toselect content for streaming.

Each media system 102 may include one or more media devices 106 eachcoupled to one or more display devices 104. It is noted that terms suchas “coupled,” “connected to,” “attached,” “linked,” “combined” andsimilar terms may refer to physical, electrical, magnetic, logical,etc., connections, unless otherwise specified herein.

Media device 106 may be a streaming media device, DVD or BLU-RAY device,audio/video playback device, cable box, and/or digital video recordingdevice, to name just a few examples. Display device 104 may be amonitor, television (TV), computer, smart phone, tablet, wearable (suchas a watch or glasses), appliance, interne of things (IoT) device,and/or projector, to name just a few examples. In some embodiments,media device 106 can be a part of, integrated with, operatively coupledto, and/or connected to display device 104.

Each media device 106 may be configured to communicate with network 134via a communication device 118. The communication device 118 mayinclude, for example, a cable modem or satellite TV transceiver. Themedia device 106 may communicate with the communication device 118 overa link 108, wherein the link 108 may include wireless (such as WiFi)and/or wired connections.

In various embodiments, the network 134 can include, without limitation,wired and/or wireless intranet, extranet, Internet, cellular, Bluetooth,infrared, and/or any other short range, long range, local, regional,global communications mechanism, means, approach, protocol and/ornetwork, as well as any combination(s) thereof.

Media system 102 may include a remote control 110. The remote control110 can be any component, part, apparatus and/or method for controllingthe media device 106 and/or display device 104, such as a remotecontrol, a tablet, laptop computer, smartphone, wearable, on-screencontrols, integrated control buttons, audio controls, or any combinationthereof, to name just a few examples. In an embodiment, the remotecontrol 110 wirelessly communicates with the media device 106 and/ordisplay device 104 using cellular, Bluetooth, infrared, etc., or anycombination thereof. The remote control 110 may include a microphone112, which is further described below. The remote control 110 mayfurther include a display 114 for displaying a user interface thatprovides selectable user interface elements for a user to control orotherwise interact with media device 106 and/or display device 104. Theuser interface may, for example, enable user selection of content to beprovided by media device 106. In an embodiment, the user interface isprovided by the remote control application 116 installed in remotecontrol 110. The dimensions of display 114 may vary depending on thetype of remote control 110. For example, a first user may utilize afirst type of mobile device for a remote control 110 and a second usermay utilize a second type of mobile device for a remote control 110(e.g., via the remote control application 116 installed on bothdevices). The first type and the second type may have different physicaldimensions.

The remote control application 116 may be installed on remote control110 and may be configured to display a user interface for accessingcontent via media device(s) 106 and/or display device 104. The userinterface may include user interface elements such as buttons, sliders,images, icons, windows, and the like for allowing user(s) 132 to view,select, and otherwise identify content to be streamed by media device(s)106 to display device 104. The user interface may include a predefineddimension (e.g., to fit the size of display 114) and a predefinedconfiguration that implements particular user interface elements atspecific positions in the user interface. The predefined dimension andconfiguration may be a standard display of the user interface for allusers. For example, the predefined configuration may implement aparticular layout for a direction pad, volume controls, and other userinterface elements for interacting with media content. The applicationmay further include means for implementing an interface customizationparameter that modifies the predefined dimension and/or the predefinedconfiguration by, for example, either reducing the dimension to asmaller size or modifying the layout so that different user interfaceelements are displayed at different positions of the user interface.

In an embodiment, the remote control application 116 may also includemeans for monitoring how user(s) 132 interact with the user interface.For example, the remote control application 116 may track how oftenuser(s) 132 select certain user interface elements and store thisinformation in memory. In an embodiment, this usage information may beimplemented as a ranked list identifying how often certain interfaceelements are used by user(s) 132. For example, the usage information mayindicate that user(s) 132 utilizes the volume buttons—volume up, volumedown, mute—more than other interface elements. The application maytransmit the usage information to crowdsource server(s) 128.

User interface elements such as buttons may allow users to controlplayback of media content and provide access to other tools such as usersettings, network settings. Another example of a user interface elementis a slider which may provide more granular control such as playback(e.g., rewind or fast forward) or settings (e.g., adjusting volume,brightness, etc.)

The multimedia environment 100 may include a plurality of contentservers 120 (also called content providers). Although only one contentserver 120 is shown in FIG. 1 , in practice the multimedia environment100 may include any number of content servers 120. Each content server120 may be configured to communicate with network 134.

Each content server 120 may store content 122 and metadata 124. Content122 may include any combination of music, videos, movies, TV programs,multimedia, images, still pictures, text, graphics, gaming applications,advertisements, programming content, public service content, governmentcontent, local community content, software, apps, and/or any othercontent or data objects in electronic form.

In some embodiments, metadata 124 comprises data about content 122. Forexample, metadata 124 may include associated or ancillary informationindicating or related to writer, director, producer, composer, artist,actor, summary, chapters, production, history, year, trailers, alternateversions, related content, applications, and/or any other informationpertaining or relating to the content 122. Metadata 124 may also oralternatively include links to any such information pertaining orrelating to the content 122. Metadata 124 may also or alternativelyinclude one or more indexes of content 122, such as but not limited to atrick mode index.

The multimedia environment 100 may include one or more system servers126. The system servers 126 may operate to support the media devices 106from the cloud. It is noted that the structural and functional aspectsof the system servers 126 may wholly or partially exist in the same ordifferent ones of the system servers 126.

The media devices 106 may exist in thousands or millions of mediasystems 104. Accordingly, the media devices 106 may lend themselves tocrowdsourcing embodiments and, thus, the system servers 126 may includeone or more crowdsource servers 128.

For example, using information received from the media devices 106 inthe thousands and millions of media systems 104, the crowdsourceserver(s) 128 may identify similarities and overlaps between closedcaptioning requests issued by different user(s) 132 watching aparticular movie. Based on such information, the crowdsource server(s)128 may determine that turning closed captioning on may enhance users'viewing experience at particular portions of the movie (for example,when the soundtrack of the movie is difficult to hear), and turningclosed captioning off may enhance users' viewing experience at otherportions of the movie (for example, when displaying closed captioningobstructs critical visual aspects of the movie). Accordingly, thecrowdsource server(s) 128 may operate to cause closed captioning to beautomatically turned on and/or off during future streaming of the movie.

As another example, crowdsource server(s) 128 may further receive andstore user interface information such as how user(s) 132 interact withthe user interface provided through their respective remote control 110including the usage information described above (e.g., how often buttonsare used). Crowdsource server(s) 128 may generate crowdsourced userinterface information that may identify interaction history of the userinterface for all remote controls that are connected to crowdsourceserver(s) 128. The crowdsourced user interface information may beimplemented as a ranked list identifying user interface elements of theuser interface that are most used by the users across multiplemultimedia environments.

Crowdsource server(s) 128 may store organize this usage information intouser categories. For example, the usage information may be categorizedby gender, by location, by user biometric information (e.g., hand size,finger length), just to name a few examples. In this manner, crowdsourceserver(2) 128 may identify usage information that is most relevant to aparticular user based on their categorization.

The system servers 126 may also include an audio command processingmodule 130. As noted above, the remote control 110 may include amicrophone 112. The microphone 112 may receive audio data from user(s)132 (as well as other sources, such as the display device 104). In someembodiments, the media device 106 may be audio responsive, and the audiodata may represent verbal commands from the user(s) 132 to control themedia device 106 as well as other components in the media system 102,such as the display device 104. Audio received via the microphone 112may be stored in a memory of the remote control 110.

In some embodiments, audio command processing module 130 may beconfigured to identify a gender of the user based on received audiodata. In some embodiments, the audio data received by the microphone 112in the remote control 110 is transferred to the media device 106, whichis then forwarded to the audio command processing module 130 in thesystem servers 126. The audio command processing module 130 may operateto process and analyze the received audio data to recognize a verbalcommand from user(s) 132. The audio command processing module 130 maythen forward the verbal command back to the media device 106 forprocessing.

In some embodiments, the audio data may be alternatively or additionallyprocessed and analyzed by an audio command processing module 216 in themedia device 106 or in remote control 110 in embodiments where remotecontrol 110 is implemented as a mobile device with an installed remotecontrol application (see FIG. 2 ). The media device 106 and/or remotecontrol 110 and the system servers 126 may then cooperate to pick one ofthe verbal commands to process (either the verbal command recognized bythe audio command processing module 130 in the system servers 126, orthe verbal command recognized by the audio command processing module 216in the media device 106 and/or remote control 110).

FIG. 2 illustrates a block diagram of an example remote control 110,according to some embodiments. Remote control 110 may be any device thatincludes a screen that can be configured to display user interfacesassociated with a remote control application such as, for example, alaptop, remote control, mobile phone, tablet, watch or other wearabledevice.

Remote control 110 may include a streaming module 202, processing module204, storage/buffers 208, and user interface module 206. As describedabove, the user interface module 206 may include the audio commandprocessing module 216 and display module 218. The display module 218 mayfurther include a dynamic customization module 220. The display module218 may be configured to display different content including mediacontent received from the media device 106 via streaming module 202 anda user interface for allowing users to provide user input forcontrolling media device 106 and display device 104. The dynamiccustomization module 220 may be configured to customize the userinterface based on one or more factors such as the user's biometricinformation, user's interaction history, and crowdsourced user interfaceinformation. In an embodiment, customizing the user interface includesscaling the user interface to a size that is suitable for one-handed useby the user.

The remote control application 116 may be installed in storage/buffer208 of remote control 110. The user interface provided by the remotecontrol application 116 may enable remote control capabilities to remotecontrol 110. The remote control application 116 may be configured tointeract with media device 106. In an embodiment, the remote control 110may only communicate with media device 106 if the remote controlapplication 116 is installed on remote control 110. For example, remotecontrol 110 may be a mobile phone and the remote control application 116is an application provided by a manufacturer of media device 106 andthat is downloaded and installed on the mobile phone. Without the remotecontrol application 116, the mobile phone may not otherwise be able tocommunicate with the media device 106.

As part of communicating with the media device 106, the remote controlapplication 116 may be used to interact with media streamingapplications that are installed on media device 106. For example, remotecontrol application 116 may enable a user to select between differentstreaming services installed on media device 106. The remote controlapplication 116 may track which streaming services are most selected aswell as the interactions with the user interface that the user has withthese other streaming services.

The remote control 110 may also include usage tracker module 210, one ormore audio decoders 212, one or more video decoders 214, and biometricmodule 222.

Usage tracker module 210 may be configured to receive and process userinteractions with a user interface displayed by the remote controlapplication 116 or other user interfaces displayed by remote control110. In an embodiment, the remote control application 116 may beconfigured to track and monitor the user interactions and provide thetracked user interactions to usage tracker module 210 for storage andfurther processing. For example, usage tracker module 210 may processthe interactions when a user interface is displayed by remote control110. In an embodiment, usage tracker module 210 may monitor and storeuser interactions with different user interfaces provided by differentremote control applications installed on remote control 110. Types ofuser interactions include, for example, the frequency a user selects abutton (e.g, volume up, volume down, direction pad), which media contenta user selects, and frequency that media streaming applications areselected by the user using remote control 110.

Each audio decoder 212 may be configured to decode audio of one or moreaudio formats, such as but not limited to AAC, HE-AAC, AC3 (DolbyDigital), EAC3 (Dolby Digital Plus), WMA, WAV, PCM, MP3, OGG GSM, FLAC,AU, AIFF, and/or VOX, to name just some examples.

Similarly, each video decoder 214 may be configured to decode video ofone or more video formats, such as but not limited to MP4 (mp4, m4a,m4v, f4v, f4a, m4b, m4r, f4b, mov), 3GP (3gp, 3gp2, 3g2, 3gpp, 3gpp2),OGG (ogg, oga, ogv, ogx), WMV (wmv, wma, asf), WEBM, FLV, AVI,QuickTime, HDV, MXF (OP1a, OP-Atom), MPEG-TS, MPEG-2 PS, MPEG-2 TS, WAV,Broadcast WAV, LXF, GXF, and/or VOB, to name just some examples. Eachvideo decoder 214 may include one or more video codecs, such as but notlimited to H.263, H.264, HEV, MPEG1, MPEG2, MPEG-TS, MPEG-4, Theora,3GP, DV, DVCPRO, DVCPRO, DVCProHD, IMX, XDCAM HD, XDCAM HD422, and/orXDCAM EX, to name just some examples.

Biometric module 222 may be configured to receive and securely storebiometric information associated with users using the remote control110. Biometric information may include any information associated withthe user detected by different sensors of remote control 110. Thesesensors include the touchscreen of remote control 110, audio commandprocessing module 216, a camera (not shown), and a finger print sensor(not shown). For example, this information could include a detectedfinger position on the touchscreen of remote control 110 and a detectedfinger size based on the finger press on the touchscreen of remotecontrol 110. The detected finger position may be used to determine, forexample, the hand size of the user and the finger length of the fingerused by the user to make selections on the touchscreen. Other biometricinformation may include other information associated with a user such asthe user's voice (detected by audio command processing module 216) andfacial characteristics (detected by a camera of the remote control 110)both of which may be used to determine a user's gender, eithersingularly or in combination with other biometric information.

Now referring to both FIGS. 1 and 2 , in some embodiments, the user(s)132 may interact with the media device 106 via the remote control 110.For example, the user(s) 132 may use the user interface provided by theremote control application 116 to interact with the media device 106 toselect media content, such as a movie, TV show, music, book,application, game, etc. The media device 106 may request the selectedcontent from the content server(s) 120 over the network 134. The contentserver(s) 120 may transmit the requested content to the media device 106which may then transmit the received content to the display device 104for playback to the user(s) 132.

In mirroring embodiments, the streaming module 202 may receive thecontent from the media device 106 or display device 104 in real time ornear real time as those devices receive such content from the contentserver(s) 120. The remote control application 116 may provide a separatedisplay window for displaying mirrored content. In non-mirroringembodiments, the streaming module 202 may communicate with the mediadevice 106 or display device 106 in the background to retrieve othersettings or screens to display on the user interface. For example, mediastreaming applications installed on the media device 106 may providecertain screens for selecting settings such as selecting a user profileor media content. In a non-mirroring embodiment, while the media device106 or display device 106 are streaming media content, the streamingmodule 202 may retrieve these screens for display by the remote controlapplication 116 via, for example, a display window. In this manner, auser may change settings such as changing profiles or selectingdifferent media content using the remote control application 116 whilemedia content is streamed via the media device 106.

In some embodiments, the user(s) 132 may provide a user input via theuser interface. The user input may be recognized by dynamiccustomization module 220 as a request to customize the user interfacefor the user such as by scaling the user interface for one-handed use.Examples of user inputs include a touch-based gesture via a touchscreenof the remote control 110 or selection of a button provided via the userinterface. Upon recognizing the user input as a request to customize theuser interface, dynamic customization module 220 may retrieve aninterface customization parameter from storage/buffers 208. Theinterface customization parameter may be generated based on one or moreof: biometric information from biometric module 222, interaction historyinformation from usage tracker module 210, crowdsourced user interfaceinformation from crowdsource server 128 or from storage/buffer 208 ifthe crowdsourced user interface information was previously transmittedto the remote control 110, and/or physical dimensions of the remotecontrol 110. Dynamic customization module 220 may then customize theuser interface based on the interface customization parameter.

The interface customization parameter may include a scaling factor(e.g., a percentage) that reflects an amount to reduce or scale the userinterface from a first configuration to a second configuration. Thefirst configuration may represent the original size and layout of theuser interface and the second configuration may represent a scaledversion of the first configuration where the amount that the secondconfiguration is scaled is based on the customization parameter. Inanother embodiment, the interface customization parameter may specifyspecific values for a height and width for the second configuration. Thespecific values may be calculated based on the scaling factor.

The interface customization parameter may further include indications ofhow to configure buttons for the second configuration. For example, theinterface customization parameter may be based on the interactionhistory of the user using remote control 110 and/or crowdsourced userinterface history of how other users interacted with their respectivecontrols. Examples of information stored in the interaction historyincluded a ranked list of buttons based on, for example, the frequencythat buttons are selected by the user. The information may be stored atadditional levels of granularity. For example, the interaction historymay organize user actions (e.g., buttons selected, content selected) bytime of day, by which display device the remote control 110 isinteracting with, or by which media device the remote control 110 isinteracting with. For example, a user may use different buttons orperform other actions differently in the morning versus in the evening;or a user may use different buttons or perform actions differently fordifferent display devices or different media devices that are located inthe user's home (e.g., a television or media device in the user'sbedroom versus a television or media device in the user's living room).As one example, a user may use the volume button more often for atelevision in the living room versus the television in the bedroom. Asanother example, the user may select family friendly content (e.g.,rated G or PG) from the media device in the living room and more maturecontent (e.g., PG-14, R) from the media device in the television.

Examples of actions that may be performed include selecting mediacontent, interactions with menus displayed by user interface, voicecommands, or selecting other streaming applications from media device106.

Embodiments of Dynamic UI Customization

FIGS. 3A-3I are exemplary diagrams illustrating different flows forcustomizing a user interface on remote control 300 triggered by a userinput. Remote control 300 is an embodiment of remote control 110 and isnot intended to limit remote control 110 to any one particularimplementation. The user interfaces depicted in FIGS. 3A-3I are alsomerely exemplary and are not intended to limit the user interfaces toany particular configuration.

FIG. 3A depicts a flow involving an exemplary user interface shown atdifferent configurations 301A-301C on remote control 300. Initialconfiguration 301A may represent an initial configuration of the userinterface provided by the remote control application 116. In anembodiment, initial configuration 301A may represent the defaultconfiguration for the user interface when the remote control application116 is launched on remote control 300. The default configuration may bea configuration that is initially provided to all users by the remotecontrol application 116. An initial touch at a first position 302A maybe detected while the user interface is in the initial configuration301A. The initial touch may represent the first part of a user input totrigger a customization of the user interface. In an embodiment, theremote control application may require the initial touch to be a longpress on the touchscreen while the finger remains at the first position302A. The long press may indicate that a request for the customizationis being initiated by the user. A long press may be a press on thetouchscreen for longer than a preset time period, such as two seconds.The user input is not limited to this example and other embodiments ofuser inputs may be configured by the user to trigger the customization.

Transition configuration 301B may present another configuration of theuser interface when the remote control application determines that theuser is initiating a request to customize the user interface. In anembodiment, there may be a change in the display of the user interfaceduring the transition configuration 301B to indicate to the user that acustomization is taking place. For example, the user interface intransition configuration 301B may start reducing in size as the fingerbegins it gesture, such as a downward motion 303A, while the finger istouching the touchscreen and ends when the finger arrives at a secondposition on the touchscreen after completing the downward motion 303A.The reduction in size of the user interface may include a scaling ofboth the vertical and horizontal dimension. Whether to scale down thevertical dimension, horizontal dimension, or both may be based on userbiometric information, other user information (such as a settingselected by the user), or crowdsource information (such as which optionswere selected by other users with similar biometrics). For example, afirst user with a larger hand (or thumb) may need less scaling of thehorizontal dimension because they are capable of reaching across thewidth of the screen compared to a second user with a smaller hand (orthumb).

The downward motion 303A is one example of a gesture that may berecognized as a user input to trigger the customization of the userinterface. In an embodiment, the remote control application 116 mayinitiate the customization of the user interface upon detecting that thefinger has completed the gesture—in a downward motion 303A from thefirst position 302A to a second position 302B. In another embodiment,the remote control application 116 may initiate the customization duringthe gesture (e.g., as the finger does the downward motion 303A). Thedownward motion 303A is merely exemplary and any type of gesture that isdetectable by the touchscreen may be used as the user input. Forexample, a sideways gesture or a diagonal gesture may be used.

Final configuration 301C may present a final configuration of the userinterface after the user interface has been customized. The customizeduser interface 304 may represent a scaled down or reduced in proportionversion of the initial configuration 301A of the interface. In anembodiment, the customized user interface 304 allows the user to useone-hand to access all displayed user interface elements. The amountthat customized user interface 304 has been reduced in scale compared tothe initial configuration 301A may be determined based on the interfacecustomization parameter. As noted above, the interface customizationparameter specifies information that may be used to resize the userinterface from a first configuration (e.g., full screen as shown ininitial configuration 301A) to a second configuration (e.g., resized asshown in final configuration 301C). In an embodiment, the size of thesecond configuration is determined to allow for one-hand use by a userand may be based on information about the user such as the hand size ofthe user.

In an embodiment, the interface customization parameter is representedby a percentage (e.g., 50%) which indicates the proportion in which theinitial configuration 301A is scaled to arrive at the finalconfiguration 301C. The interface customization parameter may alsoinclude information regarding where to display the customized userinterface 304 within the touchscreen of remote control 300. In theinitial configuration 301A, the user interface is displayed across theentire touchscreen. When the user interface is scaled down so that it nolonger occupies the entire touchscreen, the interface customizationparameter may specify where to display the customized user interface304. In an embodiment, the information regarding where to display thecustomized user interface 304 may be implemented as coordinates thatidentify a location on the touchscreen. In another embodiment, theinterface customization parameter identifies specific height and widthvalues instead of a scaling factor. The specific height and width valuesmay be used to customize the dimensions of the customized user interface304.

In an embodiment, after the customized user interface 304 is displayed,the user may request returning to the original user interface in theinitial configuration 301A. The user request may include any means suchas another gesture on the touchscreen or touching a specific portion ofthe touchscreen.

FIG. 3B depicts another flow involving an exemplary user interface shownat different configurations 301A, 301B, and 301D. In this embodiment,certain user interface elements may be modified as part of customizingthe user interface to create a new layout of user interface elements. Afirst row of buttons 305 and a second row of buttons 306 are examples ofuser interface elements. The first row of buttons 305 may include a backbutton, an options button, and a home button. The second row of buttons306 may include a rewind button, a play/pause button, and a fast forwardbutton. Examples of user interface elements include a row of buttons,individual buttons, and a directional pad. In another embodiment, theinterface customization parameter may further specify specific userelements to be included in customized user interface 304.

Initial configuration 301A and transition configuration 301B may beimplemented in a similar manner described with respect to FIG. 3A.Initial configuration 301A may display the user interface in a firstlayout with the first row of buttons 305 and the second row of buttons306. The user interface is displayed on remote control 300 and receivesan initial touch at a first position 302A that may represent part of auser input to trigger customization of the user interface. The userinput may continue with a gesture, such as downward motion 303A. Thedownward motion 303A is merely exemplary and any type of gesture that isdetectable by the touchscreen may be used as the user input. Uponrecognition of the user input as a trigger to customize the userinterface, the remote control application may customize the userinterface based on, for example, the interface customization parameter.

Final configuration 301D represents another example of a customized userinterface 304 that includes a scaled version of the original userinterface as well as a modification to a user interface element.Customized user interface 304 may include a modified layout to its userinterface elements. In this embodiment, the second row of buttons 306 ismoved and replaces the first row of buttons 305 within the userinterface which allows for easier access to those buttons by the user.Modification of a user interface element may be based on the interfacecustomization parameter which may identify user interface elements thatreceive higher usage by a user of remote control 300 or as indicated bycrowdsourced user interface information. For example, the remote controlapplication 116 may track which user interface elements are mostselected by the user. As part of customizing the user interface, theremote control application may move those user interface elements to aposition on the user interface that is more accessible to the user. Inthis embodiment, the interface customization parameter may haveidentified the second row of buttons 306 as being most selected by theuser and therefore a candidate for moving to a more accessible locationin the customized user interface 304.

FIG. 3C depicts another flow involving an exemplary user interface shownat different configurations 301A, 301B, and 301E. In this embodiment,remote control 300 is in communication with display device 310 that isdisplaying a menu that includes media content represented by selectableicons on the user interface. In an embodiment, display device 310 may bein communication with a media device (e.g., media device 106) which isproviding the media content for display on remote control 300. Inanother embodiment, the media device may be integrated directly intodisplay device 310. Media content may be a media content selectionscreen but this is merely exemplary and not intended to be limiting.Other types of media content are possible including the actual mediacontent. For example, the media content may be any combination ofstreaming applications, media content such as movies or televisionshows, and menus (e.g., for accessing settings). Initial configuration301A and transition configuration 301B may be implemented as discussedwith respect to FIG. 3A. The downward motion 303A is merely exemplaryand any type of gesture that is detectable by the touchscreen may beused as the user input. Final configuration 301E may also include acustomized user interface 304 with a second row of buttons 306 beingshifted in position in the user interface from the initial configuration301A. In this embodiment, final configuration 301E may further include adisplay window 307 for mirroring media content that is displayed ondisplay device 310. Display window 307 may allow the user to see themedia content on remote control 300 which may make it easier for theuser to perform control operations on the media content. For example,the user may wish to rewind or fast forward media content using buttonsin the second row of buttons 306. Being able to view the media contentin display window 307 of remote control 300 may make it easier for theuser to time skip to the desired portion of the media content.

In an embodiment, the display window 307 may also allow the user toselect media content when it is displayed on display device 310. Forexample, the user may be able to touch media content icon 311 when it isdisplayed in the display window which would initiate selection of themedia content icon 311 for streaming on display device 310. Displaywindow 307 thus allows a user to quickly select media content withouthaving to use the direction pad to manually scroll through the displayedmedia content and select the media content icon 311.

In an embodiment, the display window 307 may mirror content beingdisplayed on display device 310. When mirroring media content betweendisplay device 310 and remote control 300 (e.g., responsive to receivingthe user input to customize the user interface), the media content maybe streamed to the streaming module 202 of remote control 110 from amedia device (not shown) that is connected to display device 310 (e.g.,integrated into display device 310 or connected externally) directly toremote control 300, and specifically, display window 307 of the remotecontrol application. In an embodiment, the display window 307 maydisplay other content related to the media content being displayed ondisplay device 310. Examples include settings related to the streamingapplication being used to display the media content (e.g., otherepisodes of the same media content), other media content related to thecurrently displayed media content (e.g., based on the user's viewinghistory and/or crowdsourced user information), and other streamingapplications that are available for selection to allow for fasterswitching.

FIG. 3D describes one example of displaying other content in the displaywindow 307. FIG. 3D depicts another flow involving an exemplary userinterface shown at different configurations 301A, 301B, and 301F.Initial configuration 301A and transition configuration 301B may beimplemented similarly as discussed with respect to FIG. 3A. The downwardmotion 303A is merely exemplary and any type of gesture that isdetectable by the touchscreen may be used as the user input. In anembodiment, the media content may be any combination of streamingapplications, media content such as movies or television shows, andmenus (e.g., for accessing settings). In this embodiment, finalconfiguration 301F may include a display window 307 for displaying ashortcut 312 to options or settings associated with the media contentbeing displayed on display device 310. The options or settings that aredisplayed in customized user interface 304 may be based on informationspecified by the interface customization parameter. The remote controlapplication 116 may track which options or settings are most utilized bythe user in certain situations, such as when certain streamingapplications are displayed on display device 310, and provide theshortcut 312 to those options or settings in display window 307 whendisplaying customized user interface 304. The user may then quicklyselect the appropriate option (e.g., by touch or using the direction padin customized user interface 304) when it is displayed in display window307. Providing the shortcut 312 allows for faster selection of desiredoptions or settings and reduces the number of button presses that istypically utilized to select a setting. The shortcut 312 being displayedmay be based on the interface customization parameter which mayindicate, for example, most frequently used settings, most frequentlyused settings while in different media streaming applications, or apredefined user setting that was configured by the user.

In an embodiment, the options or settings are specific to each mediastreaming application installed on the media device 106. For example, auser may have different settings for different media streamingapplications such as different profiles. The settings that are displayedin display window 307 may thus depend on the media streaming applicationthat is being currently utilized by media device 106. In one embodiment,the interface customization parameter includes the media streamingapplication that is currently selected by the user as well as thesettings that are specific to that media streaming application.

In another embodiment, the display window 307 may display shortcuts toother content such as other media applications, other media contentavailable through the currently utilized media application or throughother media applications installed on media device 106, and otherrelated content.

In an embodiment, the user input may be used to trigger an action andthe display window 307 may be used to display results of an action. Forexample, the user input may trigger a search of the media contentcurrently displayed on display device 310 and the results of the search,such as other streaming applications, may be displayed. The user maythen use the display window 307 to switch between streaming applicationsto access another version of the media content on the other streamingapplication. For example, one season of a television show may beavailable on one streaming application and another season available onanother streaming application. The user input may be used to trigger asearch the media content through the media device 106 which may thenprovide the other streaming application for display in display window307.

FIG. 3E depicts another flow involving an exemplary user interface shownat different configurations 301A, 301B, and 301G. In this embodiment, adifferent user input may be associated with a different customization ofthe user interface. Initial configuration 301A and transitionconfiguration 301B may be implemented similarly as discussed withrespect to FIG. 3A. In this embodiment, the user input may include aninitial touch at a first position 302A, a different gesture such as asideways motion 303B, and a touch at a second position 302C. Thesideways motion 303B is merely exemplary and is described here toillustrate a gesture different from downward motion 303A. Any type ofgesture that is detectable by the touchscreen may be used as the userinput and different gestures may be associated with differentcustomizations of the user interface. Upon detecting that the finger hascompleted the gesture, the remote control application may initiate thecustomization of the user interface based on a modification of adifferent user interface element, for example, third row of buttons 308.For example, the interface customization parameter may rank userinterface elements based on how frequently they are utilized by theuser. In an embodiment, the interface customization parameter indicatethat the third row of buttons 308 is second in usage to second row ofbuttons 306. The remote control application may associate a first userinput (e.g., one with a downward motion 303A) to the second row ofbuttons 306 and a second user input (e.g., one with a sideways motion303B) to the third row of buttons 308.

Accordingly, upon detecting the user input with the sideways motion303B, the remote control application may generate customized userinterface 304 based on the user interface element associated with thatuser input. In this embodiment, that user interface element is the thirdrow of buttons 308. Final configuration 301G may therefore display thecustomized user interface 304 with the third row of buttons 308 shiftedin position so that it is more accessible for selection.

FIG. 3F depicts another flow involving an exemplary user interface shownat different configurations 301A, 301B, and 301H. In this embodiment, adifferent user input may be associated with a different customization ofthe user interface based on different user interface elements. Initialconfiguration 301A and transition configuration 301B may be implementedsimilarly as discussed with respect to FIG. 3A. In this embodiment, theuser input may include an initial touch at a first position 302A, adifferent gesture such as a diagonal motion 303C, and a touch at a thirdposition 302D. The diagonal motion 303C is merely exemplary and any typeof gesture that is detectable by the touchscreen may be used as the userinput. In this embodiment, there is a specific location on the userinterface that may be designated as the location for the initial touch.Other embodiments may include a designated gesture region provided bythe remote control application or a software control (e.g., button onthe user interface) or hardware control (e.g., physical button press) totrigger gesture detection. The customized user interface elements mayinclude different buttons located in the user interface such volume downbutton 309A, volume up button 309B, and home button 309C.

The remote control application may associate the gesture with a diagonalmotion 303C to another customization of the user interface. In thisembodiment, the customization may include selecting most selectedbuttons by the user and repositioning those buttons within thecustomized user interface 304. Final configuration 301H depictscustomized user interface 304 with the volume down button 309A andvolume up button 309B repositioned from their original positions to themore accessible location in the customized user interface 304.

FIG. 3G depicts another flow involving an exemplary user interface shownat different configurations 301A, 301B, and 301I. Initial configuration301A and transition configuration 301B may be implemented similarly asdiscussed with respect to FIG. 3F which includes a user input with adiagonal motion 303C. In this embodiment, different user interfaceelements which are not currently shown in the original user interfacemay be positioned in customized user interface 304 in response to theuser input. For example, in response to detecting the user input withthe diagonal motion 303C, the remote control application may identifyother user interface elements to display in the customized userinterface 304. As noted above, these other user interface elements maybe identified via the interface customization parameter and may be basedon most popular buttons, crowdsourced user interface information, orother settings set by the user or the remote control application. Inthis embodiment, application buttons 313 and 314 may be displayed incustomized user interface 304.

FIG. 3H depicts another flow involving an exemplary user interface shownat different configurations 301A, 301B and 301J. In this embodiment,remote control 300 is in communication with display device 310 that isdisplaying a menu that includes media content represented by selectableicons on the user interface. In an embodiment, the media content may beany combination of streaming applications, media content such as moviesor television shows, and menus (e.g., for accessing settings). In thisembodiment, media content represents a menu screen with selectablesettings. Initial configuration 301A and transition configuration 301Bmay be implemented similarly as discussed with respect to FIG. 3F whichincludes a user input with a diagonal motion 303C.

Final configuration 301J may include a display window 307 for displayinga selectable portion 315 of media content that is displayed on displaydevice 310. Display window 307 may allow the user to view the selectableportion 315 of the media content on remote control 300 which may make iteasier for the user to perform control operations on the media content.For example, the user may wish to more quickly select specific icons(e.g., letters) in selectable portion 315 that is displayed on displaydevice 310. Being able to view the selectable portion 315 of the mediacontent in display window 307 of remote control 300 allows the user tomore quickly select the icons instead of using arrows of the directionpad to navigate.

In an embodiment, the selectable portion 315 that is displayed inresponse to user input such as diagonal motion 303C is based on theinterface customization parameter. The selectable portion 315 of mediacontent may be determined based on the user's previous interactions,user-selectable settings, and/or crowdsource information which mayinclude interactions of other users with the user interface. Althoughselectable portion 315 is depicted in FIG. 3H as being a portion of amenu screen, other portions of media content may be used for theselectable portion 315 including, but not limited to, different portionsof the menu screen such as selectable options and search results.

FIG. 3I depicts another flow involving an exemplary user interface shownat different configurations 301A, 301B and 301J. In this embodiment,remote control 300 is in communication with display device 310 that isdisplaying a menu that includes media content represented by selectableicons on the user interface. In an embodiment, the media content may beany combination of streaming applications, media content such as moviesor television shows, and menus (e.g., for accessing settings). Initialconfiguration 301A and transition configuration 301B may be implementedsimilarly as discussed with respect to FIG. 3F which includes a userinput with a diagonal motion 303C.

Final configuration 301K may include a display window 307 for displayinga list of predefined user inputs 317 based on the media content that isdisplayed on display device 310. Display window 307 may allow the userto view and quickly select a predefined user input from the list ofpredefined user inputs 317 on remote control 300 which may make iteasier for the user to input information requested by media content. Forexample, display device 310 may display media content in the form of aninput box 316 (e.g., an email address box for signing in to an accountfor a streaming application). Rather than having to use the directionpad to select each letter icon for the input (e.g., the email address),the user may select a predefined user input from the list of user inputs317 which would then automatically populate the input box 316.

As described above, FIGS. 3A-3I depict various customizations of userinterfaces on remote control 300 based on user inputs. The variouscustomizations are merely illustrative. It is to be appreciated thatdifferent customizations may be combined together in an embodiment andassociated with different user inputs other than those described above.Further, some of the customizations and user inputs may be combine in adifferent ways than shown in FIGS. 3A-3H, as will be understood by aperson of ordinary skill in the art. The types of customizations may bedetermined based on the interface customization parameter which isgenerated based on any combination of the user's previous interactions,user-selectable settings, and/or crowdsource information which mayinclude interactions of other users with the user interface.

FIGS. 4A-4D are exemplary diagrams illustrating different flows forcustomizing a user interface based on biometric information. FIG. 4Adepicts a diagram for measuring how far a user can reach with his finger(e.g., thumb) which can be correlated to a hand size or finger length ofthe user. In an embodiment, the remote control application initiate ascreen to receive biometric information from the user. The screen mayprompt a user to touch a portion of the screen with a finger (e.g.,thumb) as part of receiving biometrics of the user. The remote controlapplication may measure the hand size, finger length, finger pressure,and/or finger placement based on the user touch 402A. In an embodiment,the measurement may be relative to the size of remote control 400. Forexample, the remote control application may determine the position ofuser touch 402A based on the horizontal position 404A and verticalposition 406A on the touchscreen of the remote control 400.

The remote control application may calculate the hand size or fingerlength of the user based on the horizontal position 404A and verticalposition 406A. There may be a direct relationship between the length ofthe horizontal position 404A and vertical position 406A and the handsize or finger length. For example, a large horizontal position 404A andvertical position 406A may correspond to a large hand size (or longerfinger length).

Based on the calculated finger or hand size, the remote controlapplication may determine a scaling factor for reducing the size of theuser interface. The scaling factor may be included as part of theinterface customization parameter. Calculation of the interfacecustomization parameter may be based on a mathematical relationshipbetween any number of factors including the calculated finger or handsize, the screen size of the remote control 400, and any other userinformation available to the remote control application. The interfacecustomization parameter may also include information associated withuser biometric information such as the gender of the user, other userinformation such as usage information, or crowdsourced user interfaceinformation.

An example of how the user gender may influence the customization of theuser interface includes a preset scaling factor or predetermined sizefor the customized user interface based on whether the user is a man ora woman. For example, the preset scaling factor or predetermined size ofthe customized user interface may be larger if the user is determined tobe a man or a woman.

An example of how crowdsourced user interface information may influencethe customization of the user interface includes using an average handsize of users that most closely match the user of remote control 400 todetermine the appropriate scaling factor for reducing the userinterface. For example, the remote control application may provideinformation about the user to a crowdsource server and the crowdsourceserver may identify, based on the provided information, a presentscaling factor of similar users. Examples of information that may beprovided to the crowdsource server for this purpose include one or moreof the horizontal position 404A and vertical position 406A, thecalculated hand size, the calculated finger length, a gender of theuser, and monitored interactions with the user interface (e.g., buttonpresses).

In an embodiment, there is an inverse relationship between thecalculated hand size or the finger length and the scaling factor. Forexample, the larger the calculated hand size, the smaller the scalingfactor which would result in a lesser reduction in the size of the userinterface. Similarly, the smaller the calculated hand size, the largerthe scaling factor which would result in a greater reduction in the sizeof the user interface.

In an embodiment, the remote control application may be furtherconfigured to store preset scaling factors that are defined based on thecalculated hand size (from the horizontal position 404A and verticalposition 406A).For example, the remote control application may store atable that define the relationship between a calculated hand size and ascaling factor. The specific measurements of the horizontal position404A and vertical position 406A may fall within a predefined rangewithin the table that corresponds to the scaling factor to be used forreducing the user interface.

In an embodiment, the remote control application may also calculate thefinger pressure based on the user touch 402A. The touchscreen may havecapacitive sensing capabilities. Based on fluid displacement or othercapacitance changes detected by hardware in the remote control 400, maybe able to determine or estimate a finger size or finger pressure of theuser. This information may also be used to determine the scaling factorfor reducing the size of the user interface.

FIG. 4B depicts a customized user interface with a scaled horizontaldimension 408A and a scaled vertical dimension 410A, and a centerposition 412A. The scaled horizontal dimension 408A and the scaledvertical dimension 410A may be calculated based on scaling factor thatwas identified based on the calculated hand size. An exemplary methodfor calculating the hand size was discussed with respect to FIG. 4A.Scaled horizontal dimension 408A may be calculated by applying thescaling factor to the original horizontal dimension of the userinterface; similarly, scaled vertical dimension 410A may be calculatedby applying the scaling factor to the original vertical dimension of theuser interface.

Center position 412A may represent where to position the customized userinterface. In an embodiment, center position 412A represents a distancebetween the center of the customized user interface and the edge of thetouchscreen. The physical dimensions of remote control 400 may beavailable to the remote control application. Examples of differentscreen sizes are shown below.

Device 1 Device 2 Device 3 Display size 5.4-inch screen 6.1-inch screen6.7-inch screen Dimensions 5.18 × 5.78 × 6.33 × (inches) 2.53 × 0.29 in.2.82 × 0.29 in. 3.07 × 0.29 in.

The physical dimensions may be utilized in calculating the interfacecustomization parameter by, for example, calculating where to place thecustomized user interface on the display of the remote control 400. Likethe scaled horizontal dimension 408A and the scaled vertical dimension410A, the center position 412A may also be calculated based on theinterface customization parameter which may include the scaling factor,other user biometric information such as the gender of the user, otheruser information such as usage information, or crowdsourced userinterface information, as discussed above.

FIG. 4C depicts a diagram for measuring a hand or finger size of anotheruser. Similar to the embodiment described with respect to FIG. 4A, thescreen may prompt a user to touch a portion of the screen with a finger(e.g., thumb) as part of receiving biometrics of the user. The remotecontrol application may measure the hand size, finger length, fingerpressure, and/or finger placement based on the user touch 402B. Theremote control application may determine the position of user touch 402Bbased on the horizontal position 404B and vertical position 406B on thetouchscreen of the remote control 400.

Horizontal position 404B may be different than horizontal position 404Aand vertical position 406B may be different than vertical position 406A.In an embodiment, horizontal position 404B is less than horizontalposition 404A and vertical position 406B is less than vertical position406A. In this embodiment, the calculated hand size of the user issmaller than the calculated hand size of the user in FIG. 4A. Customizeduser interface may need to be smaller for users with smaller hands. Inan embodiment, this would require a larger scaling factor to reduce theuser interface. In at least one embodiment, the hand size, finger size,or other biometric characteristics associated with the user (e.g.,finger mobility, hand mobility, dominant hand, dominant finger) can bemeasured through the interaction with a device. In at least oneembodiment, the characteristics associated with the user are collectedwithout the prompt for a specific set of steps (e.g., touch here).

FIG. 4D depicts a customized user interface with a scaled horizontaldimension 408B and a scaled vertical dimension 410B, and a centerposition 412B. Because in this embodiment, horizontal position 404B isless than horizontal position 404A and vertical position 406B is lessthan vertical position 406A, scaled horizontal dimension 408B is alsoless then scaled horizontal dimension 408A and scaled vertical dimension410B is less than scaled vertical dimension 410A.

Center position 412B may be larger than center position 412A which wouldresult in the customized user interface being positioned closer to theleft side of the touchscreen. This positioning would allow a user withsmaller hands easier access to the user interface elements of thecustomized user interface.

FIG. 5 is a flowchart for a method 500 for customizing a user interfaceupon being triggered by a user input (e.g., user's actions such as useof remote control 101) and based on an interface customizationparameter, according to some embodiments. Method 500 can be performed byprocessing logic that can include hardware (e.g., circuitry, dedicatedlogic, programmable logic, microcode, etc.), software (e.g.,instructions executing on a processing device), or a combinationthereof. It is to be appreciated that not all steps may be needed toperform the disclosure provided herein. Further, some of the steps maybe performed simultaneously, or in a different order than shown in FIG.5 , as will be understood by a person of ordinary skill in the art.Method 500 shall be described with reference to FIGS. 1-4 , and inparticular the remote control 110 and remote control application 116.However, method 500 is not limited to those example embodiments.

In 502, the remote control application 116 may receive user inputindicating a request to customize a user interface. In an embodiment,the user input may be received when the user interface is in a firstconfiguration. The request may include customizing the user interfacefrom the first configuration to a second configuration. The userinterface may have a first dimension while in the first configurationand may have a second dimension while in the first configuration. Thedimensions may refer to a height and width of the user interface when itis displayed on the touchscreen. In an embodiment, the user input is atouch-based gesture received on a touchscreen of the remote control.

In 504, the remote control application 116 may identify a userassociated with the user input. In an embodiment, this may involveidentifying the user associated with the remote control 110, such as theuser that has logged into remote control 110 using biometric means(e.g., fingerprint, facial recognition).

In 506, the remote control application 116 may identify an interfacecustomization parameter responsive to receiving the user input andidentifying the user. In an embodiment, the interface customizationparameter is calculated based on a biometric data associated with theuser.

In 508, the remote control application 116 may customize the userinterface from the first configuration to a second configuration basedon the interface customization parameter. The second configuration maybe defined by a second dimension of the user interface. In anembodiment, the second dimension of the user interface is reduced inproportion to the first configuration. The first and second dimensionsmay be represented by a height and a width and define how userinterfaces are displayed on remote control 110.

In addition to a reduction in the size of the dimension of the userinterface, other customizations of the user interface may includechanges in the placement of user interface elements such as rows ofbuttons, specific buttons or the addition of a new user interfaceelement such as a display window which may be used to mirror mediacontent displayed on a display device or provide access to shortcuts tooptions that are associated with the media content displayed on thedisplay device.

In 510, the remote control application 116 displays the customized userinterface on the touchscreen.

In 512, the remote control application 116 returns the customized userinterface back to the first configuration of the user interface uponreceiving a second user input. The second user input may be anothergesture or require a touch on a specific portion of the screen.

FIG. 6 is a flowchart for a method 600 for updating an interfacecustomization parameter, according to some embodiments. Method 600 canbe performed by processing logic that can include hardware (e.g.,circuitry, dedicated logic, programmable logic, microcode, etc.),software (e.g., instructions executing on a processing device), or acombination thereof. It is to be appreciated that not all steps may beneeded to perform the disclosure provided herein. Further, some of thesteps may be performed simultaneously, or in a different order thanshown in FIG. 6 , as will be understood by a person of ordinary skill inthe art. For example, not all steps 602-606 may need to be performed inorder to generate the interface customization parameter in 608. Method600 shall be described with reference to FIGS. 1-4 , and specificallyremote control 110 and remote control application 116. However, method600 is not limited to those example embodiments.

In 602, remote control application 116 may collect user biometricinformation. The user biometric information may include physicalcharacteristics of the user, the sex of the user, and facial informationassociated with the user. Examples of physical characteristics include,but are not limited to, the size of the user's hand and the length ofthe user's fingers. In an embodiment, remote control application 116 maycollect the user biometric information, such as in the manner describedwith respect to FIGS. 4A-4D. In another embodiment, remote controlapplication 116 may retrieve the user biometric information from asecure storage location on the remote control application 116.

In 604, remote control application 116 may collect additional userinformation. This additional user information may include userinteraction history and settings or options specifically set by theuser. The user interaction history may include interactions between theuser and the remote control application 116. Interaction history mayinclude type of interaction (e.g., gesture, input) and the screen onwhich the user interacted (e.g., a menu screen, a search screen, a mediacontent selection screen, a user input screen, streaming application).Interaction history may link the specific interactions with the specificscreen on which the interactions occurred. For example, interactionhistory may record user interactions while a media content selectionscreen is displayed. In this manner, user interactions may be organizedor filtered based on the particular screen or interface on which thoseinteractions occurred. One benefit of this method of organizing the userinteractions allows remote control application 116 to more accuratelycustomize specific user interfaces depending on the type of screen thatis being displayed to the user.

Regarding settings or options, remote control application 116 mayprovide settings associated with the different customizations and userinputs and the user may manually establish customizations of the userinterface and manually link these customizations to a corresponding userinput. Remote control application 116 may provide display one or morescreens either on remote control 300 or on display device 310 that allowthe user to set these interface settings. In an embodiment, theadditional user information may override customizations generated byremote control application 116. For example, remote control application116 may automatically generate a customization based on the user'sbiometric information and crowdsource information. As one example, thecustomization may be to scale the size of the user interface by aparticular amount. If the user has manually set a setting to scale thesize of the user interface by a different amount, remote controlapplication 116 may utilize the setting manually set by the user.

In 606, remote control application 116 may collect crowdsource userinterface information (e.g., from crowdsource server 128). Crowdsourceuser interface information may include other user interactions of remotecontrol application 116 that is installed on their respective remotecontrol devices. In an embodiment, crowdsource user interfaceinformation includes interaction histories for each of the user. Each ofthe interaction histories may also be organized based on the type ofscreens on which interactions occurred. For example, if display device310 is displaying a menu screen associated with a particular streamingapplication, remote control application 116 may retrieve (or filter)interaction histories from other users to determine interactions forthat particular menu screen. In this manner, remote control application116 may apply the most relevant user interactions (both from the user asdiscussed in 604 and from other users based on crowdsource information)for customizing the user interface.

In 608, based on the collected information in 602-606, remote controlapplication 116 may generate or update an interface customizationparameter that is used to determine how to customize the user interfaceprovided by remote control application 116 for the particular user. Theinterface customization parameter may be generated or updated based onany combination of information collected in 602-606. Updating of theinterface customization parameter is an iterative and continuous processas new interaction information is collected by remote controlapplication 116.

FIG. 7 is a flowchart for a method 700 for generating an interfacecustomization parameter, according to some embodiments. Method 700 canbe performed by processing logic that can include hardware (e.g.,circuitry, dedicated logic, programmable logic, microcode, etc.),software (e.g., instructions executing on a processing device), or acombination thereof. It is to be appreciated that not all steps may beneeded to perform the disclosure provided herein. Further, some of thesteps may be performed simultaneously, or in a different order thanshown in FIG. 7 , as will be understood by a person of ordinary skill inthe art. For example, not all steps 702-708 may need to be performed inorder to generate the interface customization parameter in 710. Method700 shall be described with reference to FIGS. 1-4 , and specificallyremote control 110 and remote control application 116. However, method700 is not limited to those example embodiments.

In 702, the remote control application 116 may retrieve user biometricinformation associated with the user of the remote control 110. As notedabove, user biometric information may be retrieved from sensors ofremote control 110 such as a face or finger scanner or microphone 112.Biometric information may include, for example, the measured hand size,finger length, finger pressure, fingerprint, facial features, and voicedata.

In 704, the remote control application 116 may retrieve additional userinformation associated with the user of the remote control. Thisadditional user information may include specific user settings selectedby the user. For example, the remote control application 116 may providethe user settings for selecting the user interface elements that are tobe included as part of the customized user interface 304. The user mayindicate, for example, that the display window 307 should always be partof the customized user interface 304 or may indicate preferred buttonsto be made accessible within the customized user interface 304.

In 706, the remote control application 116 may retrieve crowdsourceduser interface information that is associated with other users using theuser interface provided by the remote control application 116 on theirrespective remote control 110. In an embodiment, crowdsource server 128may store information about different user interface layouts andorganize the different layouts based on different characteristics of theusers including, by gender, by hand size, and by age, just to name a fewexamples. Crowdsource server 128 may receive the user biometricinformation from respective remote controls 110. The user interfacelayouts may include information about which user interface elements weremost selected, the dimensions of the user interfaces, the positions ofthe user interface elements within their respective user interfaces.

In 708, the remote control application 116 may retrieve remote controlinformation associated with the remote control 110 on which the remotecontrol application 116 is installed. Examples of remote controlinformation include the dimensions of the remote control, dimensions ofthe display screen of the remote control, and the type of device.

In 710, the remote control application 116 may generate one or moreinterface customization parameters based on one or more of theinformation retrieved in 602-608. The remote control application 116 maygenerate multiple interface customization parameters for providingdifferent customizations of the user interface. There may be aninterface customization parameter for repositioning the most utilizedbuttons; another interface customization parameter for including adisplay window 307 in proximity to the customized user interface 304;another interface customization parameter for including other userinterface elements into the customized interface.

Additional examples are discussed with respect to FIGS. 3A-3G. Forexample, an interface customization parameter, an example of which isdiscussed with respect to FIG. 3B, may generate a customized userinterface 304 where a second row of buttons 306 is moved to a moreaccessible location of the customized user interface 304; anotherinterface customization parameter, an example of which is discussed withrespect to FIG. 3E, may generate a customized user interface 304 where athird row of buttons 308 is moved to a more accessible location; andanother interface customization parameter, an example of which isdiscussed with respect to FIG. 3F, may generate a customized userinterface 3054 with volume down button 309A, volume up button 309B, andhome button 309C, moved to a more accessible location of customized userinterface 304.

A non-limiting example of an interface customization parameter isdepicted below.

User Interface Settings Value Position Height X N/A Width Y N/A UserInterface Elements Button 1 [x₁, y₁] Button 2 [x₂, y₂] Display Window[x₃, y₃] Center Position N/A [x₄, y₄]

In an embodiment, the information provided by an interface customizationparameter may affect the dimensions and/or layout of user interfaceelements in the customized user interface. In the example above, theinterface customization parameter specifies the specific height (e.g.,X) and width (e.g., Y) of the user interface, particular user interfaceelements (Button 1, Button 2, a Display Window) to be displayed atparticular positions within the customized user interface 304, and acenter position of the customized user interface 304. In thisembodiment, the position is provided in the form of coordinates butother formats may be used to identify where to position the userinterface elements and the user interface.

Information from one or more steps 702-708 may be used to generate theinterface customization parameter. Biometric information may be used toprovide customization of a user interface based on the specificbiometrics associated with a user of the remote control 110. Forexample, the calculated hand size of the user may be used to determinethe amount that a user interface is to be resize for the customization.As noted above, two examples for resizing the user interface include ascaling factor and a specific height/width value.

Additional user information may be used to provide customization of auser interface based on other information associated with the user ofthe remote control 110. For example, the user may provide defaultsettings to be used for customizing the user interface. The user mayestablish global default settings that apply to all customizations ofthe user interface or specific default settings that apply to specificcustomizations. For example, the user may input a setting that thedisplay window 307 be displayed in all customizations (e.g., a globalsetting) or in specific customizations where the fast forward or rewindbuttons are repositioned as part of the customized user interface.

Crowdsourced user information may be used to provide customization of auser interface based on crowdsource information from other users usingthe user interface and provided by crowdsource server 128. For example,crowdsourced user information may include details regarding how the userinterfaces have been customized for users having similar characteristicsas the user of the remote control 110. These characteristics may includeviewing history, gender, and biometrics such as hand size, and fingerlength. As one example, the crowdsourced user information may specify aspecific scaling factor or specific dimensions (e.g., height/widthcombination) for users having similar hand sizes or finger lengths, thesame gender, and/or similar viewing histories. In another example, thecrowdsourced user information may specify more popular user interfaceelements or button layouts for users having similar hand sizes or fingerlengths, the same gender, and/or similar viewing histories.

Remote control information may be used to provide customization of auser interface based on characteristics of the remote control. Forexample, remote control information may include information about thephysical dimensions of the remote control 110. The physical dimensionsof the remote control 110 may be used to determine the appropriate sizeand position of the customized user interface 304. For example, centerposition 412A and center position 412B may be determined based on thewidth of the touchscreen of remote control 400.

In 712, the remote control application 116 associates the interfacecustomization parameter with a specific user input. If there are morethan one interface customization parameters (and therefore more than oneuser interface customizations), then each interface customizationparameter may be associated with a different user input. In anembodiment, the user inputs are touch-based gestures input via atouchscreen of the remote control 110. Examples of different touch-basedgestures were discussed with respect to FIGS. 3A-3G.

Example Computer System

Various embodiments may be implemented, for example, using one or morewell-known computer systems, such as computer system 800 shown in FIG. 8. For example, the media device 106 may be implemented usingcombinations or sub-combinations of computer system 800. Also oralternatively, one or more computer systems 800 may be used, forexample, to implement any of the embodiments discussed herein, as wellas combinations and sub-combinations thereof.

Computer system 800 may include one or more processors (also calledcentral processing units, or CPUs), such as a processor 804. Processor804 may be connected to a communication infrastructure or bus 806.

Computer system 800 may also include user input/output device(s) 803,such as monitors, keyboards, pointing devices, etc., which maycommunicate with communication infrastructure 806 through userinput/output interface(s) 802.

One or more of processors 804 may be a graphics processing unit (GPU).In an embodiment, a GPU may be a processor that is a specializedelectronic circuit designed to process mathematically intensiveapplications. The GPU may have a parallel structure that is efficientfor parallel processing of large blocks of data, such as mathematicallyintensive data common to computer graphics applications, images, videos,etc.

Computer system 800 may also include a main or primary memory 808, suchas random access memory (RAM). Main memory 808 may include one or morelevels of cache. Main memory 808 may have stored therein control logic(i.e., computer software) and/or data.

Computer system 800 may also include one or more secondary storagedevices or memory 810. Secondary memory 810 may include, for example, ahard disk drive 812 and/or a removable storage device or drive 814.Removable storage drive 814 may be a floppy disk drive, a magnetic tapedrive, a compact disk drive, an optical storage device, tape backupdevice, and/or any other storage device/drive.

Removable storage drive 814 may interact with a removable storage unit818. Removable storage unit 818 may include a computer usable orreadable storage device having stored thereon computer software (controllogic) and/or data. Removable storage unit 818 may be a floppy disk,magnetic tape, compact disk, DVD, optical storage disk, and/any othercomputer data storage device. Removable storage drive 814 may read fromand/or write to removable storage unit 818.

Secondary memory 810 may include other means, devices, components,instrumentalities or other approaches for allowing computer programsand/or other instructions and/or data to be accessed by computer system800. Such means, devices, components, instrumentalities or otherapproaches may include, for example, a removable storage unit 822 and aninterface 820. Examples of the removable storage unit 822 and theinterface 820 may include a program cartridge and cartridge interface(such as that found in video game devices), a removable memory chip(such as an EPROM or PROM) and associated socket, a memory stick and USBor other port, a memory card and associated memory card slot, and/or anyother removable storage unit and associated interface.

Computer system 800 may further include a communication or networkinterface 824. Communication interface 824 may enable computer system800 to communicate and interact with any combination of externaldevices, external networks, external entities, etc. (individually andcollectively referenced by reference number 828). For example,communication interface 824 may allow computer system 800 to communicatewith external or remote devices 828 over communications path 826, whichmay be wired and/or wireless (or a combination thereof), and which mayinclude any combination of LANs, WANs, the Internet, etc. Control logicand/or data may be transmitted to and from computer system 800 viacommunication path 826.

Computer system 800 may also be any of a personal digital assistant(PDA), desktop workstation, laptop or notebook computer, netbook,tablet, smart phone, smart watch or other wearable, appliance, part ofthe Internet-of-Things, and/or embedded system, to name a fewnon-limiting examples, or any combination thereof.

Computer system 800 may be a client or server, accessing or hosting anyapplications and/or data through any delivery paradigm, including butnot limited to remote or distributed cloud computing solutions; local oron-premises software (“on-premise” cloud-based solutions); “as aservice” models (e.g., content as a service (CaaS), digital content as aservice (DCaaS), software as a service (SaaS), managed software as aservice (MSaaS), platform as a service (PaaS), desktop as a service(DaaS), framework as a service (FaaS), backend as a service (BaaS),mobile backend as a service (MBaaS), infrastructure as a service (IaaS),etc.); and/or a hybrid model including any combination of the foregoingexamples or other services or delivery paradigms.

Any applicable data structures, file formats, and schemas in computersystem 800 may be derived from standards including but not limited toJavaScript Object Notation (JSON), Extensible Markup Language (XML), YetAnother Markup Language (YAML), Extensible Hypertext Markup Language(XHTML), Wireless Markup Language (WML), MessagePack, XML User InterfaceLanguage (XUL), or any other functionally similar representations aloneor in combination. Alternatively, proprietary data structures, formatsor schemas may be used, either exclusively or in combination with knownor open standards.

In some embodiments, a tangible, non-transitory apparatus or article ofmanufacture comprising a tangible, non-transitory computer useable orreadable medium having control logic (software) stored thereon may alsobe referred to herein as a computer program product or program storagedevice. This includes, but is not limited to, computer system 800, mainmemory 808, secondary memory 810, and removable storage units 818 and822, as well as tangible articles of manufacture embodying anycombination of the foregoing. Such control logic, when executed by oneor more data processing devices (such as computer system 800 orprocessor(s) 804), may cause such data processing devices to operate asdescribed herein.

Based on the teachings contained in this disclosure, it will be apparentto persons skilled in the relevant art(s) how to make and useembodiments of this disclosure using data processing devices, computersystems and/or computer architectures other than that shown in FIG. 8 .In particular, embodiments can operate with software, hardware, and/oroperating system implementations other than those described herein.

CONCLUSION

It is to be appreciated that the Detailed Description section, and notany other section, is intended to be used to interpret the claims. Othersections can set forth one or more but not all exemplary embodiments ascontemplated by the inventor(s), and thus, are not intended to limitthis disclosure or the appended claims in any way.

While this disclosure describes exemplary embodiments for exemplaryfields and applications, it should be understood that the disclosure isnot limited thereto. Other embodiments and modifications thereto arepossible, and are within the scope and spirit of this disclosure. Forexample, and without limiting the generality of this paragraph,embodiments are not limited to the software, hardware, firmware, and/orentities illustrated in the figures and/or described herein. Further,embodiments (whether or not explicitly described herein) havesignificant utility to fields and applications beyond the examplesdescribed herein.

Embodiments have been described herein with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined as long as thespecified functions and relationships (or equivalents thereof) areappropriately performed. Also, alternative embodiments can performfunctional blocks, steps, operations, methods, etc. using orderingsdifferent than those described herein.

References herein to “one embodiment,” “an embodiment,” “an exampleembodiment,” or similar phrases, indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it would be within the knowledge of persons skilled in therelevant art(s) to incorporate such feature, structure, orcharacteristic into other embodiments whether or not explicitlymentioned or described herein. Additionally, some embodiments can bedescribed using the expression “coupled” and “connected” along withtheir derivatives. These terms are not necessarily intended as synonymsfor each other. For example, some embodiments can be described using theterms “connected” and/or “coupled” to indicate that two or more elementsare in direct physical or electrical contact with each other. The term“coupled,” however, can also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other.

The breadth and scope of this disclosure should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

1. A computer implemented method for customizing a user interface on aremote control, comprising: receiving, when the user interface is in afirst configuration, a user input associated with customizing the userinterface, wherein the user interface comprises a user interfaceelement, wherein the first configuration includes a first dimension ofthe user interface, and wherein the user input is a touch-based gesturereceived on a touchscreen of the remote control; identifying biometricinformation of a user associated with the user input; transmitting, to acrowdsource server, the biometric information; receiving, from thecrowdsource server, crowdsourced user interface information associatedwith the biometric information; identifying an interface customizationparameter responsive to receiving the user input and identifying theuser, wherein the interface customization parameter is calculated basedon the biometric information and the crowdsourced user interfaceinformation; and customizing, based on the interface customizationparameter, the user interface from the first configuration to a secondconfiguration, wherein the second configuration includes a seconddimension of the user interface and wherein the second dimension of theuser interface is reduced in proportion to the first configuration. 2.The method of claim 1, wherein the first configuration further includesa first position of the user interface element within the user interfaceand the second configuration further includes a second position of theuser interface element within the user interface.
 3. The method of claim2, wherein the first dimension specifies a first height and a firstwidth of the user interface and the second dimension specifies a secondheight and a second width of the user interface, and wherein the seconddimension is generated by reducing the first dimension based on theinterface customization parameter.
 4. The method of claim 2, wherein theinterface customization parameter is configured to reduce the firstdimension of the user interface by a scaling factor and wherein thecrowdsourced user interface information includes a crowdsourced scalingfactor based on the biometric information of the user, wherein thescaling factor is based on a mathematical relationship between thebiometric information and a physical dimension of the remote control andthe crowdsourced scaling factor, and wherein the proportion is based onthe scaling factor.
 5. The method of claim 4, wherein the biometricinformation comprises a hand size of the user.
 6. The method of claim 1,wherein the first configuration comprises first coordinates of the userinterface specifying where to display the first configuration on thetouchscreen of the remote control and the second configuration comprisessecond coordinates of the user interface specifying where to display thesecond configuration on the touchscreen of the remote control.
 7. Themethod of claim 6, wherein the first coordinates of the user interfaceare modified based on the interface customization parameter to generatethe second coordinates.
 8. The method of claim 1, wherein the remotecontrol is in communication with a media device and a display device,and the second configuration comprises an additional user interfaceelement configured to mirror media content displayed by the media deviceon the display device.
 9. The method of claim 1, wherein the biometricinformation is generated by: receiving, via the touchscreen of theremote control, a second user input; and determining, based on thesecond user input, a biometric measurement of the user, wherein thebiometric measurement reflects a hand size of the user.
 10. The methodof claim 9, wherein the interface customization parameter includes areduction percentage based on the hand size of the user.
 11. The methodof claim 1, further comprising: receiving crowdsource information fromthe crowdsource server, wherein the crowdsource information includesusage information of the user interface collected by the crowdsourceserver from a plurality of remote controls, wherein the usageinformation includes a history of interactions with the user interfaceby the plurality of remote controls, and wherein the interfacecustomization parameter is further calculated based on the crowdsourceinformation.
 12. The method of claim 11, wherein the history ofinteractions includes a list identifying most selected buttons of theuser interface on the plurality of remote controls, wherein the userinterface is displayed on the plurality of remote controls.
 13. Themethod of claim 1, further comprising: monitoring, by the remotecontrol, usage information of the user interface, wherein the usageinformation includes a history of interactions with the user interfaceby the user on the remote control, wherein the interface customizationparameter is further calculated based on the usage information.
 14. Themethod of claim 13, wherein the history of interactions includes aranked list identifying buttons on the user interface on the remotecontrol, wherein the ranked list ranks the buttons based on usage by theuser.
 15. The method of claim 14, wherein the ranked list identifies abutton as most used by the user and wherein customizing, based on theinterface customization parameter, the user interface from the firstconfiguration to the second configuration further comprises: modifying afirst button layout of the first configuration to a second button layoutof the second configuration, wherein the first button layout includes afirst position for a button of the user interface and the second buttonlayout includes a second position for the button of the user interface,wherein the second position is different from the first position.
 16. Aremote control comprising: a memory; a display configured to display auser interface; and at least one processor coupled to the memory andconfigured to perform operations comprising: receiving, when the userinterface is in a first configuration, a user input associated withcustomizing the user interface, wherein the user interface comprises auser interface element, wherein the first configuration includes a firstdimension of the user interface, and wherein the user input is atouch-based gesture received on the display; identifying biometricinformation of a user associated with the user input; transmitting, to acrowdsource server, the biometric information; receiving, from thecrowdsource server, crowdsourced user interface information associatedwith the biometric information; identifying an interface customizationparameter responsive to receiving the user input and identifying theuser, wherein the interface customization parameter is calculated basedon the biometric information and the crowdsourced user interfaceinformation; and customizing, based on the interface customizationparameter, the user interface from the first configuration to a secondconfiguration, wherein the second configuration includes a seconddimension of the user interface and wherein the second dimension of theuser interface is reduced in proportion to the first configuration. 17.The remote control of claim 16, wherein the first configuration furtherincludes a first position of the user interface element within the userinterface and the second configuration further includes a secondposition of the user interface element within the user interface. 18.The remote control of claim 17, wherein the first dimension specifies afirst height and a first width of the user interface and the seconddimension specifies a second height and a second width of the userinterface, and wherein the second dimension is generated by reducing thefirst dimension based on the interface customization parameter.
 19. Theremote control of claim 17, wherein the interface customizationparameter is configured to reduce the first dimension of the userinterface by a scaling factor and wherein the crowdsourced userinterface information includes a crowdsourced scaling factor based onthe biometric information of the user, wherein the scaling factor isbased on a mathematical relationship between the biometric informationand a physical dimension of the remote control and the crowdsourcedscaling factor, and wherein the proportion is based on the scalingfactor.
 20. A non-transitory computer-readable medium havinginstructions stored thereon that, when executed by at least onecomputing device, cause the at least one computing device to performoperations comprising: displaying a user interface on a touchscreen ofthe at least one computing device; receiving, when the user interface isin a first configuration, a user input associated with customizing theuser interface, wherein the user interface comprises a user interfaceelement, wherein the first configuration includes a first dimension ofthe user interface, and wherein the user input is a touch-based gesturereceived on the touchscreen; identifying biometric information of a userassociated with the user input; transmitting, to a crowdsource server,the biometric information; receiving, from the crowdsource server,crowdsourced user interface information associated with the biometricinformation; identifying an interface customization parameter responsiveto receiving the user input and identifying the user, wherein theinterface customization parameter is calculated based on the biometricinformation and the crowdsourced user interface information; andcustomizing, based on the interface customization parameter, the userinterface from the first configuration to a second configuration,wherein the second configuration includes a second dimension of the userinterface and wherein the second dimension of the user interface isreduced in proportion to the first configuration.